package com.xdtech.hotel.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.hotel.model.Customer;
import com.xdtech.hotel.vo.CustomerItem;

/**
 * 
 * @author max.zheng
 * @create 2015-04-04 11:08:36
 * @since 1.0
 * @see
 */
public interface CustomerService extends IBaseService<Customer>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-04-04 11:08:36
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateCustomer(CustomerItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:08:36
	 * @modified by
	 * @param newId
	 * @return
	 */
	CustomerItem loadCustomerItem(Long customerId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:08:36
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteCustomerInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-04-04 11:08:36
	 * @modified by
	 * @param customerIds
	 */
	boolean deleteCustomerInfo(List<Long> customerIds);

	/**
	 * 顾客入住登记
	 * @author max.zheng
	 * @create 2015-4-18下午9:43:53
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean stay(CustomerItem item);

	/**
	 * 根据房间id查询当前入住顾客信息
	 * @author max.zheng
	 * @create 2015-4-18下午11:40:25
	 * @modified by
	 * @param roomId
	 * @return
	 */
	CustomerItem loadLiveCustomerItemByRoomId(Long roomId);

	/**
	 * 住户登记离开
	 * @author max.zheng
	 * @create 2015-5-6下午8:52:04
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean leave(CustomerItem item);
}
